/* axios二次封装 */
import axios from 'axios'
import { getToken, delToken } from '@/utils/storage'

import router from '@/router/index.js'
var request = axios.create({
	//  创建的是axios的实例  request 代替 axios
	// baseURL: "http://interview-api-t.itheima.net/h5/",
	baseURL: '/h5',
	timeout: 5000 //请求超时
})

// 添加请求拦截器
request.interceptors.request.use(
	function(config) {
		// 在发送请求之前做些什么
		//
		const token = getToken()
		if (token) {
			config.headers['Authorization'] = 'Bearer ' + token
		}
		// console.log(config, 7777);

		return config
	},
	function(error) {
		// 对请求错误做些什么
		return Promise.reject(error)
	}
)

// 添加响应拦截器
request.interceptors.response.use(
	function(response) {
		// 对响应数据做点什么
		return response.data
	},
	function(error) {
		// 对响应错误做点什么
		// console.log(error, 8888);
		if (error.response.data.code == '401') {
			//断定 token失效
			/* 解决
      1、清空token
      2、回login
      */
			delToken()
			// this.$router.push()
			// console.log(router, 999);
			router.push('/login')
		}
		return Promise.reject(error)
	}
)

export default request //axios
